package br.com.viaembratel.entity.prepago;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@NamedQueries({
  @NamedQuery(name = "Produto.findAll", query = "select o from Produto o"),
  @NamedQuery(name ="Produto.produtosProgramacao", query = "select p from Produto p where p.idCategoria=2")
})
@Table(schema = "pre_pago")
public class Produto implements Serializable {
    @Column(nullable = false, length = 100)
    private String descricao;
    @Column(name="ID_CATEGORIA", nullable = false)
    private Long idCategoria;
    @Id
    @Column(name="ID_PRODUTO", nullable = false)
    private Long idProduto;
    @Column(nullable = false, length = 50)
    private String nome;

    public Produto() {
    }

    public Produto(String descricao, Long idCategoria, Long idProduto,
                   String nome) {
        this.descricao = descricao;
        this.idCategoria = idCategoria;
        this.idProduto = idProduto;
        this.nome = nome;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public Long getIdCategoria() {
        return idCategoria;
    }

    public void setIdCategoria(Long idCategoria) {
        this.idCategoria = idCategoria;
    }

    public Long getIdProduto() {
        return idProduto;
    }

    public void setIdProduto(Long idProduto) {
        this.idProduto = idProduto;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
}
